package cn.dai;

import java.lang.annotation.Repeatable;

/**
 * @author ArkD42
 * @file 1 - Java基础语法
 * @create 2020 - 04 - 20 - 12:03
 */

@Repeatable(AtArray.class)
public @interface MyAnnotation { // 声明类一样声明注解 @interface

    // 注解的成员属性 定义在午餐方法中声明 属性只能声明默认的 protected public 这三种

    // 方法名即是属性的标识名，方法的返回类型就是属性的数据类型

    // 类型可以声明为 8个基本类型、类类型、枚举类型、注解类型？、和前面数据类型的数组

    // 可以声明default 为遍历指定初始值

    // 只有一个，且是最重要的参数 可使用value表示、 在注解的时候可以不用写 value = ? 直接写值即可

    // 定义的注解有配置参数，则必须指定参数值，也就是要赋值 除非存在默认初始值

    // 自定义注解必须配上注解的信息处理流程才有意义？

    String name() default "AcFun";
}


@MyAnnotation(name = "AcFun")
@MyAnnotation(name = "BiliBili")
class AC{}

@interface AtArray{
    // 声明自定义注解的数组
    MyAnnotation[] value();
}